<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 6.3.0">
  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
  <link rel="mask-icon" href="/images/logo.svg" color="#222">

<link rel="stylesheet" href="/css/main.css">


<link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">

<script id="hexo-configurations">
    var NexT = window.NexT || {};
    var CONFIG = {"hostname":"ghostlitao.gitee.io","root":"/","scheme":"Gemini","version":"7.8.0","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12,"onmobile":false},"copycode":{"enable":false,"show_result":false,"style":null},"back2top":{"enable":true,"sidebar":false,"scrollpercent":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":false,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}}};
  </script>

  <meta name="description" content="把生命浪费在美好的实物上">
<meta property="og:type" content="website">
<meta property="og:title" content="去找Todd">
<meta property="og:url" content="https://ghostlitao.gitee.io/page/2/index.html">
<meta property="og:site_name" content="去找Todd">
<meta property="og:description" content="把生命浪费在美好的实物上">
<meta property="og:locale" content="zh_CN">
<meta property="article:author" content="Todd">
<meta name="twitter:card" content="summary">

<link rel="canonical" href="https://ghostlitao.gitee.io/page/2/">


<script id="page-configurations">
  // https://hexo.io/docs/variables.html
  CONFIG.page = {
    sidebar: "",
    isHome : true,
    isPost : false,
    lang   : 'zh-CN'
  };
</script>

  <title>去找Todd</title>
  


  <script>
    var _hmt = _hmt || [];
    (function() {
      var hm = document.createElement("script");
      hm.src = "https://hm.baidu.com/hm.js?d988341c748563d16048e8e7dab0f384";
      var s = document.getElementsByTagName("script")[0];
      s.parentNode.insertBefore(hm, s);
    })();
  </script>




  <noscript>
  <style>
  .use-motion .brand,
  .use-motion .menu-item,
  .sidebar-inner,
  .use-motion .post-block,
  .use-motion .pagination,
  .use-motion .comments,
  .use-motion .post-header,
  .use-motion .post-body,
  .use-motion .collection-header { opacity: initial; }

  .use-motion .site-title,
  .use-motion .site-subtitle {
    opacity: initial;
    top: initial;
  }

  .use-motion .logo-line-before i { left: initial; }
  .use-motion .logo-line-after i { right: initial; }
  </style>
</noscript>

</head>

<body itemscope itemtype="http://schema.org/WebPage">
  <div class="container use-motion">
    <div class="headband"></div>

    <header class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-container">
  <div class="site-nav-toggle">
    <div class="toggle" aria-label="切换导航栏">
      <span class="toggle-line toggle-line-first"></span>
      <span class="toggle-line toggle-line-middle"></span>
      <span class="toggle-line toggle-line-last"></span>
    </div>
  </div>

  <div class="site-meta">

    <a href="/" class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <h1 class="site-title">去找Todd</h1>
      <span class="logo-line-after"><i></i></span>
    </a>
      <p class="site-subtitle" itemprop="description">Todd的博客</p>
  </div>

  <div class="site-nav-right">
    <div class="toggle popup-trigger">
    </div>
  </div>
</div>




<nav class="site-nav">
  <ul id="menu" class="main-menu menu">
        <li class="menu-item menu-item-home">

    <a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a>

  </li>
        <li class="menu-item menu-item-tags">

    <a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>标签</a>

  </li>
        <li class="menu-item menu-item-categories">

    <a href="/categories/" rel="section"><i class="fa fa-th fa-fw"></i>分类</a>

  </li>
        <li class="menu-item menu-item-archives">

    <a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档</a>

  </li>
  </ul>
</nav>




</div>
    </header>

    
  <div class="back-to-top">
    <i class="fa fa-arrow-up"></i>
    <span>0%</span>
  </div>


    <main class="main">
      <div class="main-inner">
        <div class="content-wrap">
          

          <div class="content index posts-expand">
            
      
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://ghostlitao.gitee.io/2023/05/10/node-sass-%E6%9B%BF%E6%8D%A2/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="https://mp-b6a394ba-6e60-4cdf-941a-67c55476595e.cdn.bspapp.com/cloudstorage/43eb35ef-1aed-4d61-9ebb-a777fa49e70a.">
      <meta itemprop="name" content="Todd">
      <meta itemprop="description" content="把生命浪费在美好的实物上">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="去找Todd">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2023/05/10/node-sass-%E6%9B%BF%E6%8D%A2/" class="post-title-link" itemprop="url">dart-sass替换node-sass</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>
              

              <time title="创建时间：2023-05-10 16:09:07 / 修改时间：16:11:30" itemprop="dateCreated datePublished" datetime="2023-05-10T16:09:07+08:00">2023-05-10</time>
            </span>

          

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <ol>
<li>卸载node-sass</li>
</ol>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">// 第一种方式:  </span><br><span class="line">在package.json中的node-sass删除掉  卸载完以后建议重新下包 安装依赖</span><br><span class="line"></span><br><span class="line">// 第二种方式:</span><br><span class="line">npm uninstall node-sass</span><br><span class="line">yarn remove node-sass</span><br><span class="line"></span><br></pre></td></tr></table></figure>


<ol start="2">
<li><p>安装 dart-sass</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">// npm</span><br><span class="line"> npm install --dev sass </span><br><span class="line"> </span><br><span class="line"> // yarn</span><br><span class="line"> yarn add sass --dev</span><br></pre></td></tr></table></figure>

</li>
<li><p>全局搜索 (&#x2F;deep&#x2F; 和 &gt;&gt;&gt;) 替换为::v-deep</p>
</li>
<li><p>以后千万别用node-sass ！！！！</p>
</li>
</ol>

      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

      
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://ghostlitao.gitee.io/2023/05/10/docker-build-apt-get-update%E6%89%BE%E4%B8%8D%E5%88%B0%E5%8C%85/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="https://mp-b6a394ba-6e60-4cdf-941a-67c55476595e.cdn.bspapp.com/cloudstorage/43eb35ef-1aed-4d61-9ebb-a777fa49e70a.">
      <meta itemprop="name" content="Todd">
      <meta itemprop="description" content="把生命浪费在美好的实物上">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="去找Todd">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2023/05/10/docker-build-apt-get-update%E6%89%BE%E4%B8%8D%E5%88%B0%E5%8C%85/" class="post-title-link" itemprop="url">docker build apt-get update找不到包</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>
              

              <time title="创建时间：2023-05-10 16:04:23 / 修改时间：16:08:46" itemprop="dateCreated datePublished" datetime="2023-05-10T16:04:23+08:00">2023-05-10</time>
            </span>

          

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p>一个老项目的node-slim 打包最近遇到错误了：<br><code>RUN apt-get update &amp;&amp; apt-get install nginx</code></p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_">$ </span><span class="language-bash">docker build XXXX</span></span><br><span class="line">:</span><br><span class="line">E: Failed to fetch http://security.debian.org/dists/stretch/updates/main/binary-arm64/Packages  404  Not Found</span><br><span class="line">E: Failed to fetch http://deb.debian.org/debian/dists/stretch/main/binary-arm64/Packages  404  Not Found</span><br><span class="line">E: Failed to fetch http://deb.debian.org/debian/dists/stretch-updates/main/binary-arm64/Packages  404  Not Found</span><br><span class="line">E: Some index files failed to download. They have been ignored, or old ones used instead.</span><br><span class="line">ERROR: executor failed running [/bin/sh -c apt-get update &amp;&amp; apt-get install XXXXX]: exit code: 100</span><br></pre></td></tr></table></figure>

<p>是因为Debian最近升级，有个stretch的包位置发生变化，需要在执行 <code>apt-get update</code>之前，修改掉这个地址，</p>
<figure class="highlight dockerfile"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">RUN</span><span class="language-bash"> <span class="built_in">echo</span> <span class="string">&quot;deb http://archive.debian.org/debian/ stretch main&quot;</span> &gt; /etc/apt/sources.list \</span></span><br><span class="line"><span class="language-bash">    &amp;&amp; <span class="built_in">echo</span> <span class="string">&quot;deb http://archive.debian.org/debian-security stretch/updates main&quot;</span> &gt;&gt; /etc/apt/sources.list \</span></span><br><span class="line"><span class="language-bash">    &amp;&amp; apt-get update \</span></span><br><span class="line"><span class="language-bash">    &amp;&amp; apt-get install nginx</span></span><br></pre></td></tr></table></figure>

<p>国内可以试试这个中科大的源</p>
<p><a target="_blank" rel="noopener" href="https://mirrors.ustc.edu.cn/help/debian.html">https://mirrors.ustc.edu.cn/help/debian.html</a></p>

      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

      
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://ghostlitao.gitee.io/2023/05/10/%E5%AE%8C%E6%95%B4%E7%9A%84%E8%AE%B0%E5%BD%95%E4%B8%80%E6%AC%A1%E5%A4%A7%E5%B1%8F%E5%B9%95-%E8%AF%AD%E9%9F%B3%E6%92%AD%E6%8A%A5%E7%9A%84%E9%9C%80%E6%B1%82%E8%A7%A3%E5%86%B3/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="https://mp-b6a394ba-6e60-4cdf-941a-67c55476595e.cdn.bspapp.com/cloudstorage/43eb35ef-1aed-4d61-9ebb-a777fa49e70a.">
      <meta itemprop="name" content="Todd">
      <meta itemprop="description" content="把生命浪费在美好的实物上">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="去找Todd">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2023/05/10/%E5%AE%8C%E6%95%B4%E7%9A%84%E8%AE%B0%E5%BD%95%E4%B8%80%E6%AC%A1%E5%A4%A7%E5%B1%8F%E5%B9%95-%E8%AF%AD%E9%9F%B3%E6%92%AD%E6%8A%A5%E7%9A%84%E9%9C%80%E6%B1%82%E8%A7%A3%E5%86%B3/" class="post-title-link" itemprop="url">完整的记录一次大屏幕 语音播报的需求解决</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2023-05-10 15:55:16" itemprop="dateCreated datePublished" datetime="2023-05-10T15:55:16+08:00">2023-05-10</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="far fa-calendar-check"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2023-06-02 17:26:16" itemprop="dateModified" datetime="2023-06-02T17:26:16+08:00">2023-06-02</time>
              </span>

          

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <h1 id="背景"><a href="#背景" class="headerlink" title="背景"></a>背景</h1><p>给客户的车间做了一个呼料的系统,大屏幕可以实时显示产线的呼料需求(APP),一方面仓库人员可以手机上看到这些呼料需求,另一方面,仓库的大屏幕可以显示分配到此仓库的呼料需求.</p>
<h2 id="新需求"><a href="#新需求" class="headerlink" title="新需求"></a>新需求</h2><p>客户希望有新的呼料请求的时候,大屏幕不仅仅要显示,而且要语音提醒.<br>因为我们大屏幕用的是 Chrome 的浏览器来显示呼料请求,所以直接使用Chrome 的 TTS 接口即可:</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">function speakOut(msg) &#123;</span><br><span class="line">	var u = new SpeechSynthesisUtterance();</span><br><span class="line">	u.lang = &#x27;zh-CN&#x27;;</span><br><span class="line">	u.text = msg;</span><br><span class="line">	window.speechSynthesis.speak(u);</span><br><span class="line">&#125;;</span><br></pre></td></tr></table></figure>
<p>然后其他的逻辑就不写了,比如如何判断新到语音,如何不再播报已经播报过的,如何播报捡料超时的任务等等.</p>
          <!--noindex-->
            <div class="post-button">
              <a class="btn" href="/2023/05/10/%E5%AE%8C%E6%95%B4%E7%9A%84%E8%AE%B0%E5%BD%95%E4%B8%80%E6%AC%A1%E5%A4%A7%E5%B1%8F%E5%B9%95-%E8%AF%AD%E9%9F%B3%E6%92%AD%E6%8A%A5%E7%9A%84%E9%9C%80%E6%B1%82%E8%A7%A3%E5%86%B3/#more" rel="contents">
                阅读全文 &raquo;
              </a>
            </div>
          <!--/noindex-->
        
      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

      
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://ghostlitao.gitee.io/2020/06/17/Error-Looks-like-you-forgot-to-wrap-your-root-component-with-Provider-component-from-ant-des/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="https://mp-b6a394ba-6e60-4cdf-941a-67c55476595e.cdn.bspapp.com/cloudstorage/43eb35ef-1aed-4d61-9ebb-a777fa49e70a.">
      <meta itemprop="name" content="Todd">
      <meta itemprop="description" content="把生命浪费在美好的实物上">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="去找Todd">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2020/06/17/Error-Looks-like-you-forgot-to-wrap-your-root-component-with-Provider-component-from-ant-des/" class="post-title-link" itemprop="url">Error: Looks like you forgot to wrap your root component with `Provider` component from `@ant-des...</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2020-06-17 10:20:14" itemprop="dateCreated datePublished" datetime="2020-06-17T10:20:14+08:00">2020-06-17</time>
            </span>

          

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Error: Looks like you forgot to wrap your root component with `Provider` component from `@ant-design/react-native`.</span><br></pre></td></tr></table></figure>
<p>从老系统升级上来的项目,<br>React Native 很久没维护了,<br>一直报这个错,搜了一会,没什么答案,一脸懵逼.<br>最后看了官网也没明确说 要用Provider<br>然后看了 官网的 demo <a target="_blank" rel="noopener" href="https://codesandbox.io/s/jzo4z74wr3?from-embed">https://codesandbox.io/s/jzo4z74wr3?from-embed</a></p>
<p>果然是要的…<br>最后真的在 render 返回的整个东西外面 包了一层  Provider<br>好了..<br>好久没用真的是不行..</p>

      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

      
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://ghostlitao.gitee.io/2019/10/03/macOS-%E4%B8%8A%E7%94%A8-docker-%E8%BF%90%E8%A1%8C-Mysql57-%E7%94%A8-navicat-%E5%8F%AF%E4%BB%A5%E7%AE%A1%E7%90%86/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="https://mp-b6a394ba-6e60-4cdf-941a-67c55476595e.cdn.bspapp.com/cloudstorage/43eb35ef-1aed-4d61-9ebb-a777fa49e70a.">
      <meta itemprop="name" content="Todd">
      <meta itemprop="description" content="把生命浪费在美好的实物上">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="去找Todd">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2019/10/03/macOS-%E4%B8%8A%E7%94%A8-docker-%E8%BF%90%E8%A1%8C-Mysql57-%E7%94%A8-navicat-%E5%8F%AF%E4%BB%A5%E7%AE%A1%E7%90%86/" class="post-title-link" itemprop="url">macOS 上用 docker 运行 Mysql57 用 navicat 可以管理</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2019-10-03 22:38:19" itemprop="dateCreated datePublished" datetime="2019-10-03T22:38:19+08:00">2019-10-03</time>
            </span>

          

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p>大约以下几个步骤 :</p>
<ol>
<li><p>安装 docker的 gui</p>
</li>
<li><p>申请阿里的 docker加速服务 <a target="_blank" rel="noopener" href="https://cr.console.aliyun.com/">https://cr.console.aliyun.com</a></p>
</li>
<li><p>Mac 里配置preferences -&gt; Registry Mirrors里增加自己申请的加速服务地址.</p>
</li>
<li><p>命令行就可以运行 docker search mysql 找到官方的,然后</p>
</li>
<li><p>拉下镜像 docker pull mysql:5.7.27</p>
</li>
<li><p>最关键的启动命令,我在自己的 home 下创建了 docker 的数据目录<code>/Users/我的用户名/docker_home/mysql57</code>,然后把下方的命令,存为 startMysql57.sh</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">docker run -p 33060:3306 --name mysql57 \</span><br><span class="line"> -v $PWD/conf:/etc/mysql/conf.d \</span><br><span class="line"> -v $PWD/logs:/logs \</span><br><span class="line"> -v $PWD/data:/var/lib/mysql \</span><br><span class="line"> -e MYSQL_ROOT_PASSWORD=123456 \</span><br><span class="line"> -d mysql:5.7.27</span><br></pre></td></tr></table></figure>
<p>上方命令解释:</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">-p 端口映射, 本地33060 访问容器的 3306</span><br><span class="line">--name 起个名字</span><br><span class="line">-v 挂载各种目录, $PWD 是当前目录. 左边是本机,右侧是容器暴露的 volume</span><br><span class="line">-e 设置一些变量,此处改了默认密码</span><br><span class="line">-d 用那个镜像,我这边用了刚才 pull 下来那个.</span><br></pre></td></tr></table></figure>
</li>
<li><p>给刚才的sh 增加运行权限, <code>chmod +x startMysql57.sh</code></p>
</li>
<li><p>运行 <code>./startMysql57.sh</code>,目录下就多了几个上方配置的文件夹了.</p>
</li>
</ol>
<p>顺利的话,此处可以直接 navicat 链接了.注意此处端口是33060</p>
<p>如果是 windows ,上方步骤应该差不多.下方的注意下.</p>
<p>遇到的坑:</p>
<ol>
<li>阿里的那个入口貌似不怎么好找?</li>
<li>加速地址要更换下顺序,把自己的放到第一位,否则似乎还是很慢</li>
<li>如果 localhost 不能链接,不同平台会有不同的情况,尤其是 win 下,必须要找到虚拟机的 IP, 或者说 docker container 的 IP .docker 的 gui 看一眼有没有配置.<br>如果是 win 下 , 可能要用 docker-machine 来查看 IP<br>或者可能是 <code>docker inspect --format &#39;&#123;&#123; .NetworkSettings.IPAddress &#125;&#125;&#39; &lt;container-ID&gt;  </code><br>来查看 IP,具体情况具体考虑.</li>
</ol>
<p>如果是通过以上方式,则需要进入 bash 设置 mysql root 的外部链接权限(MySQL 默认是 localhost 没问题,但是很显然这个地方不一定是 localhost)<br><code>docker exec -it mysql57 bash</code> 进入.<br>数据库 <code>use mysql </code> 下 user 表:<br><code>ALTER USER &#39;root&#39;@&#39;%&#39; IDENTIFIED WITH mysql_native_password BY &#39;123456&#39;</code></p>
<ol start="4">
<li><p>如果是 mysql8  遇到授权问题,参考<br><a target="_blank" rel="noopener" href="https://blog.csdn.net/AFishhhhhh/article/details/80368927">https://blog.csdn.net/AFishhhhhh/article/details/80368927</a></p>
</li>
<li><p>如果使用  docker exec -it  的时候报错:</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused &quot;exec: \&quot;hash\&quot;: executable file not found in $PATH&quot;: unknown</span><br></pre></td></tr></table></figure>
<p>我也不知道为啥..然后 <code>sudo </code>再执行这条命令,然后就好了,不 sudo 也行.猜是路径问题, 普通用户无权限.sudo 创建后就正常了?</p>
</li>
</ol>

      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

      
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://ghostlitao.gitee.io/2019/10/03/Git-%E6%AF%8F%E6%AC%A1%E8%BE%93%E5%85%A5%E5%AF%86%E7%A0%81%E7%9A%84%E6%9C%80%E7%AE%80%E5%8D%95%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="https://mp-b6a394ba-6e60-4cdf-941a-67c55476595e.cdn.bspapp.com/cloudstorage/43eb35ef-1aed-4d61-9ebb-a777fa49e70a.">
      <meta itemprop="name" content="Todd">
      <meta itemprop="description" content="把生命浪费在美好的实物上">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="去找Todd">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2019/10/03/Git-%E6%AF%8F%E6%AC%A1%E8%BE%93%E5%85%A5%E5%AF%86%E7%A0%81%E7%9A%84%E6%9C%80%E7%AE%80%E5%8D%95%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/" class="post-title-link" itemprop="url">Git 每次输入密码的最简单解决方案</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2019-10-03 21:32:01" itemprop="dateCreated datePublished" datetime="2019-10-03T21:32:01+08:00">2019-10-03</time>
            </span>

          

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p><code>git config --global credential.helper store</code></p>
<p>设置下就 OK了<br>如果每个库不一样,那可以设置到  –local 里.</p>

      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

      
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://ghostlitao.gitee.io/2019/06/28/%E7%94%B3%E8%AF%B7-Let-s-Encrypt-%E8%AF%81%E4%B9%A6%E5%AF%BC%E5%85%A5%E5%88%B0-ADFS/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="https://mp-b6a394ba-6e60-4cdf-941a-67c55476595e.cdn.bspapp.com/cloudstorage/43eb35ef-1aed-4d61-9ebb-a777fa49e70a.">
      <meta itemprop="name" content="Todd">
      <meta itemprop="description" content="把生命浪费在美好的实物上">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="去找Todd">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2019/06/28/%E7%94%B3%E8%AF%B7-Let-s-Encrypt-%E8%AF%81%E4%B9%A6%E5%AF%BC%E5%85%A5%E5%88%B0-ADFS/" class="post-title-link" itemprop="url">申请 Let's Encrypt  证书导入到 ADFS</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2019-06-28 15:12:31" itemprop="dateCreated datePublished" datetime="2019-06-28T15:12:31+08:00">2019-06-28</time>
            </span>

          

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <ol>
<li><p>申请证书, 拿下来的证书一般都是 crt 格式,需要转成 pfx:<br><code>openssl pkcs12 -export -out win-r9jnunkcelj.rinsys.com.pfx -inkey win-r9jnunkcelj.rinsys.com.key -in win-r9jnunkcelj.rinsys.com.crt</code> 输入密码后生成<br>参考了<a target="_blank" rel="noopener" href="https://stackoverflow.com/questions/6307886/how-to-create-pfx-file-from-certificate-and-private-key">Stackoverflow Link</a></p>
</li>
<li><p>用MMC 执行导入操作:<br>参考 <a target="_blank" rel="noopener" href="https://blog.csdn.net/vic0228/article/details/80505508">https://blog.csdn.net/vic0228/article/details/80505508</a><br>和 <a target="_blank" rel="noopener" href="https://www.baswijdenes.com/portfolio/use-lets-encrypt-certificates-adfs-wap/">https://www.baswijdenes.com/portfolio/use-lets-encrypt-certificates-adfs-wap/</a></p>
</li>
<li><p>记得更新指纹</p>
</li>
</ol>
<p>终于可以不用改 Android 的情况下, 在有 ssl 的 https 下使用 webview了.</p>

      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

      
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://ghostlitao.gitee.io/2019/06/25/ADFS-3-0-Oauth2-0/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="https://mp-b6a394ba-6e60-4cdf-941a-67c55476595e.cdn.bspapp.com/cloudstorage/43eb35ef-1aed-4d61-9ebb-a777fa49e70a.">
      <meta itemprop="name" content="Todd">
      <meta itemprop="description" content="把生命浪费在美好的实物上">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="去找Todd">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2019/06/25/ADFS-3-0-Oauth2-0/" class="post-title-link" itemprop="url">ADFS 3.0 + Oauth2.0</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2019-06-25 18:38:46" itemprop="dateCreated datePublished" datetime="2019-06-25T18:38:46+08:00">2019-06-25</time>
            </span>

          

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p>搭建 ADFS 之后,默认已经开启了 Oauth2.0.</p>
<p>注意添加或者使用已有的 <em>信赖方信任</em> , 增加一个自己的标识符</p>
<p>参考 <a target="_blank" rel="noopener" href="https://blog.scottlogic.com/2015/03/09/OAUTH2-Authentication-with-ADFS-3.0.html">https://blog.scottlogic.com/2015/03/09/OAUTH2-Authentication-with-ADFS-3.0.html</a></p>
<p><a target="_blank" rel="noopener" href="http://www.gi-architects.co.uk/2016/04/setup-oauth2-on-adfs-3-0/">http://www.gi-architects.co.uk/2016/04/setup-oauth2-on-adfs-3-0/</a></p>
<p>如果遇到:<br>error&#x3D;invalid_resource&amp;error_description&#x3D;MSIS9602%3a+The+received+%27resource%27+parameter+is+invalid.+The+authorization+server+can+not+find+a+registered+resource+with+the+specified+identifier.<br>说明 <strong>未信任</strong>  或者 标识符传错了</p>
<p>以下为具体的实验过程:</p>
<ol>
<li><p>powershell Add-ADFSClient -Name “OAUTH2 Test Client” -ClientId “todd” -RedirectUri “<a target="_blank" rel="noopener" href="http://192.168.0.20:3000/getAToken">http://192.168.0.20:3000/getAToken</a>“</p>
</li>
<li><p><a target="_blank" rel="noopener" href="https://win-r9jnunkcelj.rinsys.com/adfs/oauth2/authorize?response_type=code&client_id=todd&resource=urn:relying:party:trust:identifier&redirect_uri=http://192.168.0.20:3000/getAToken">https://win-r9jnunkcelj.rinsys.com/adfs/oauth2/authorize?response_type=code&amp;client_id=todd&amp;resource=urn%3Arelying%3Aparty%3Atrust%3Aidentifier&amp;redirect_uri=http%3A%2F%2F192.168.0.20%3A3000%2FgetAToken</a><br>-&gt;<br><a target="_blank" rel="noopener" href="https://win-r9jnunkcelj.rinsys.com/adfs/oauth2/authorize?response_type=code&client_id=todd&resource=urn:relying:party:trust:identifier&redirect_uri=http://192.168.0.20:3000/getAToken">https://win-r9jnunkcelj.rinsys.com/adfs/oauth2/authorize?response_type=code&amp;client_id=todd&amp;resource=urn:relying:party:trust:identifier&amp;redirect_uri=http://192.168.0.20:3000/getAToken</a></p>
</li>
<li><p>跳转回来<br><a target="_blank" rel="noopener" href="http://192.168.0.20:3000/getAToken?code=e2mLrbaVpE2FWqoMNi22mA.8HELk0v51ggBAJG8n-ZHcAqXb_g.ZkFq_HFfJaGRVlahEtt4UObe790oNKRkLs3j4vDpOWCOZO3X3Pk4nSiuPmbVCcUaCxbuB8g6FvEP-6c6NpUBleJ0ONsSL3qoNuaY1WtWZI2jXvvpB3NEIyQa6YB8TD3qfojLmjWiqqrcHp6KpDj2FOiCM1dZ3TUee5JNJkT9h9LqjuVdDOQiGvoU8XNTkPodxB2V9pLWO3jNzjXrafO38A1eEj2ZsvxvYOU1Fa_ufQnsE49deV2pAln7NpPOMxDt-DKOguT9USLaryQz9Unfo5iQJzCD66TqLYNSctLdw7_L8P3DcjFnKAKXK4vq5a75FunE664FqftEs5FLYzfTDg">http://192.168.0.20:3000/getAToken?code=e2mLrbaVpE2FWqoMNi22mA.8HELk0v51ggBAJG8n-ZHcAqXb_g.ZkFq_HFfJaGRVlahEtt4UObe790oNKRkLs3j4vDpOWCOZO3X3Pk4nSiuPmbVCcUaCxbuB8g6FvEP-6c6NpUBleJ0ONsSL3qoNuaY1WtWZI2jXvvpB3NEIyQa6YB8TD3qfojLmjWiqqrcHp6KpDj2FOiCM1dZ3TUee5JNJkT9h9LqjuVdDOQiGvoU8XNTkPodxB2V9pLWO3jNzjXrafO38A1eEj2ZsvxvYOU1Fa_ufQnsE49deV2pAln7NpPOMxDt-DKOguT9USLaryQz9Unfo5iQJzCD66TqLYNSctLdw7_L8P3DcjFnKAKXK4vq5a75FunE664FqftEs5FLYzfTDg</a></p>
</li>
<li><p>发送<br>POST &#x2F;adfs&#x2F;oauth2&#x2F;token HTTP&#x2F;1.1<br>Content-Type: application&#x2F;x-www-form-urlencoded<br>Host: your.adfs.server<br>Content-Length: <some number></p>
</li>
</ol>
<p>grant_type&#x3D;authorization_code&amp;client_id&#x3D;some-uid-or-other&amp;redirect_uri&#x3D;http%3A%2F%2Flocalhost%3A3000%2FgetAToken&amp;code&#x3D;thecode</p>
<p>遇到错误:<br>{<br>    “error”: “invalid_request”,<br>    “error_description”: “MSIS9609: The ‘redirect_uri’ parameter is invalid. No redirect uri with the specified value is registered for the received ‘client_id’. “<br>}<br>特么的 竟然是因为 URL encode 了 redirect_uri . 因为是 POST,不用encode 这个参数.</p>
<p>5.获取Token:<br>{<br>    “access_token”: “eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjBzTVZIOXlVdFlyaFhCd0hOcTdRejZrRm5XZyJ9.eyJhdWQiOiJ1cm46cmVseWluZzpwYXJ0eTp0cnVzdDppZGVudGlmaWVyIiwiaXNzIjoiaHR0cDovL1dJTi1SOUpOVU5LQ0VMSi5yaW5zeXMuY29tL2FkZnMvc2VydmljZXMvdHJ1c3QiLCJpYXQiOjE1NjE0NTQzOTQsImV4cCI6MTU2MTQ1Nzk5NCwidXBuIjoiQWRtaW5pc3RyYXRvckByaW5zeXMuY29tIiwidWlkIjoiQWRtaW5pc3RyYXRvciIsInN1YiI6ImFkbWluaXN0cmF0b3JAcmluc3lzLmNvbSIsImF1dGhfdGltZSI6IjIwMTktMDYtMjVUMDk6MDA6MzAuMTAyWiIsImF1dGhtZXRob2QiOiJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YWM6Y2xhc3NlczpQYXNzd29yZFByb3RlY3RlZFRyYW5zcG9ydCIsInZlciI6IjEuMCIsImFwcGlkIjoidG9kZCJ9.R7YOyp986M6sYPrjyCI5JAVEZ0XTat9i89Hi8PeV4xQbe5NLrjO6CqpN2v_C_sCj5PgGyBMkAHKX4Bgyf3s4eisilrsU7t08td2nYU05rzHL8IHF_Emv0B2s0OsbY5kkACI8iYAW0rQ7ZpfUitWgygTR-GtvBnZfAfn65OpEX87Gt_x6hXL88Oacia9Le1tBFX3MiK3ShrsIv4LrSaFw5HxfN_yfieZqxndmuXOL3tcna1jyamUdmMa4WcfdNwSRlxwVlUZvbGYxSHXgSwfUvak_zkekAEFI5QtNup85ZBp1JPehlXePOBLJ_ZGErIbt-5lmHT6uX2H–qKGEFbYeg”,<br>    “token_type”: “bearer”,<br>    “expires_in”: 3600,<br>    “refresh_token”: “_bhAioyNOFP-uPNqFdMUf3SW4RIyMaRcW1uFsnTohr4AAQAAKHBS9_LiM8OMqOH7mNv6JT_D1fm3LilU-bJGPi-6uHvW-mSkDHqgqy2JhdAocmsNZ08Duzcf6PV5pO9Z-CX-4EvuYTC7silc043QLXl1MOOxhw2V5sC6hrjO5BsUWXLRoGKerWrCAaW1TwS1bb9G1XtTgGigX2UjvcN8Z0u9_RV-“<br>}</p>

      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

      
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://ghostlitao.gitee.io/2019/06/15/WizNote-%E8%BF%81%E5%87%BA%E8%AE%B0%E5%BD%95/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="https://mp-b6a394ba-6e60-4cdf-941a-67c55476595e.cdn.bspapp.com/cloudstorage/43eb35ef-1aed-4d61-9ebb-a777fa49e70a.">
      <meta itemprop="name" content="Todd">
      <meta itemprop="description" content="把生命浪费在美好的实物上">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="去找Todd">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2019/06/15/WizNote-%E8%BF%81%E5%87%BA%E8%AE%B0%E5%BD%95/" class="post-title-link" itemprop="url">WizNote 迁出记录</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2019-06-15 13:38:46" itemprop="dateCreated datePublished" datetime="2019-06-15T13:38:46+08:00">2019-06-15</time>
            </span>

          

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p>实在是受不了 WizNote mac 版本到现在都没有markdown 功能,而且搜索莫名其妙的很慢,搜了一圈,暂时没有什么靠谱便宜的解决方案,觉得还是自己来吧.暂时导出到本地用 nginx 查看.<br>具体的步骤是这样的:</p>
<ol>
<li>同步所有文章到本地</li>
<li>找到 wizNote存放目录,在我电脑上在 <code> /Users/--电脑用户---/.wiznote/---帐号---/data</code>下</li>
<li>用一段 python 代码解决,注意这里面两个位置很重要:   index.db 和 notes&#x2F;* </li>
<li>sqlite 打开 index.db 文件,就能看见所有文档目录结构了.</li>
<li>unzip 所有的 在 sqlite 中的 id标识的文件 到指定的目录里.大致的代码如下<em>里面的账号隐藏掉了</em>:<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br></pre></td><td class="code"><pre><span class="line"># -*- coding:UTF-8 -*-</span><br><span class="line"># !/usr/bin/python</span><br><span class="line"></span><br><span class="line">import sqlite3</span><br><span class="line">import os</span><br><span class="line">import zipfile</span><br><span class="line"></span><br><span class="line">NOTES_PATH = &#x27;/Users/--/.wiznote/--/data/notes/&#x27;</span><br><span class="line">DATABASE = &#x27;/Users/--/.wiznote/--/data/index.db&#x27;</span><br><span class="line">EXPORT_BASE = &quot;/Users/--/Downloads/Note&quot;</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">def dealOne(line):</span><br><span class="line">    file_id = &quot;&#123;&quot; + line[0] + &quot;&#125;&quot;</span><br><span class="line">    filename = line[1]</span><br><span class="line">    dir = EXPORT_BASE + line[2]</span><br><span class="line">    url = line[5]</span><br><span class="line">    ext = line[10]</span><br><span class="line">    create_time = line[12]</span><br><span class="line"></span><br><span class="line">    if not os.path.exists(dir):</span><br><span class="line">        print(dir + &quot; does not exist, creating ...&quot;)</span><br><span class="line">        os.makedirs(dir)</span><br><span class="line"></span><br><span class="line">    if os.path.exists(NOTES_PATH + file_id):</span><br><span class="line">        print(NOTES_PATH + file_id + &quot; exist, unziping ...&quot;)</span><br><span class="line">        dir = dir + filename + &quot;/&quot;</span><br><span class="line">        os.makedirs(dir)</span><br><span class="line">        zfile = zipfile.ZipFile(NOTES_PATH + file_id, &#x27;r&#x27;)</span><br><span class="line">        zfile.extractall(dir)</span><br><span class="line">        zfile.close()</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">conn = sqlite3.connect(DATABASE)</span><br><span class="line">print(&quot;Opened database successfully&quot;)</span><br><span class="line">cursor = conn.cursor()</span><br><span class="line">cursor.execute(&quot;select * from WIZ_DOCUMENT &quot;)</span><br><span class="line"></span><br><span class="line">data = cursor.fetchall()</span><br><span class="line"></span><br><span class="line">cursor.close()</span><br><span class="line">conn.close()</span><br><span class="line">for line in data:</span><br><span class="line">    dealOne(line)</span><br><span class="line"></span><br></pre></td></tr></table></figure></li>
<li>我本地有 MAMP , 直接把解压出来的 Note 目录结构剪切 到 localhost 指向的位置,然后打开 nginx 的目录浏览功能.<br>增加 <code>autoindex on;</code> 到 location 配置里</li>
</ol>
<p>另外记得加上 <code>charset utf-8;</code> 到 server 配置中,否则中文会有乱码,至此.WizNote 应该就导出到自己的目录里了.</p>

      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

      
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://ghostlitao.gitee.io/2019/02/21/%E4%B9%8B%E5%90%8E%E5%86%8D%E7%94%A8node%E6%88%96%E8%80%85%E5%85%B6%E5%AE%83%E5%85%A8%E5%B1%80%E5%91%BD%E4%BB%A4%E4%B8%8D%E5%8F%AF%E7%94%A8/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="https://mp-b6a394ba-6e60-4cdf-941a-67c55476595e.cdn.bspapp.com/cloudstorage/43eb35ef-1aed-4d61-9ebb-a777fa49e70a.">
      <meta itemprop="name" content="Todd">
      <meta itemprop="description" content="把生命浪费在美好的实物上">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="去找Todd">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2019/02/21/%E4%B9%8B%E5%90%8E%E5%86%8D%E7%94%A8node%E6%88%96%E8%80%85%E5%85%B6%E5%AE%83%E5%85%A8%E5%B1%80%E5%91%BD%E4%BB%A4%E4%B8%8D%E5%8F%AF%E7%94%A8/" class="post-title-link" itemprop="url">shell - 安装了oh my zsh 之后再用node或者其它全局命令不可用</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2019-02-21 09:30:34" itemprop="dateCreated datePublished" datetime="2019-02-21T09:30:34+08:00">2019-02-21</time>
            </span>

          

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p>在 ~&#x2F;.zshrc 中添加一句:<br><code>source ~/.bash_profile</code><br>即可.</p>

      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  


  
  <nav class="pagination">
    <a class="extend prev" rel="prev" href="/"><i class="fa fa-angle-left" aria-label="上一页"></i></a><a class="page-number" href="/">1</a><span class="page-number current">2</span><a class="page-number" href="/page/3/">3</a><a class="page-number" href="/page/4/">4</a><a class="extend next" rel="next" href="/page/3/"><i class="fa fa-angle-right" aria-label="下一页"></i></a>
  </nav>



          </div>
          

<script>
  window.addEventListener('tabs:register', () => {
    let { activeClass } = CONFIG.comments;
    if (CONFIG.comments.storage) {
      activeClass = localStorage.getItem('comments_active') || activeClass;
    }
    if (activeClass) {
      let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
      if (activeTab) {
        activeTab.click();
      }
    }
  });
  if (CONFIG.comments.storage) {
    window.addEventListener('tabs:click', event => {
      if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
      let commentClass = event.target.classList[1];
      localStorage.setItem('comments_active', commentClass);
    });
  }
</script>

        </div>
          
  
  <div class="toggle sidebar-toggle">
    <span class="toggle-line toggle-line-first"></span>
    <span class="toggle-line toggle-line-middle"></span>
    <span class="toggle-line toggle-line-last"></span>
  </div>

  <aside class="sidebar">
    <div class="sidebar-inner">

      <ul class="sidebar-nav motion-element">
        <li class="sidebar-nav-toc">
          文章目录
        </li>
        <li class="sidebar-nav-overview">
          站点概览
        </li>
      </ul>

      <!--noindex-->
      <div class="post-toc-wrap sidebar-panel">
      </div>
      <!--/noindex-->

      <div class="site-overview-wrap sidebar-panel">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
    <img class="site-author-image" itemprop="image" alt="Todd"
      src="https://mp-b6a394ba-6e60-4cdf-941a-67c55476595e.cdn.bspapp.com/cloudstorage/43eb35ef-1aed-4d61-9ebb-a777fa49e70a.">
  <p class="site-author-name" itemprop="name">Todd</p>
  <div class="site-description" itemprop="description">把生命浪费在美好的实物上</div>
</div>
<div class="site-state-wrap motion-element">
  <nav class="site-state">
      <div class="site-state-item site-state-posts">
          <a href="/archives/">
        
          <span class="site-state-item-count">34</span>
          <span class="site-state-item-name">日志</span>
        </a>
      </div>
      <div class="site-state-item site-state-categories">
            <a href="/categories/">
          
        <span class="site-state-item-count">2</span>
        <span class="site-state-item-name">分类</span></a>
      </div>
      <div class="site-state-item site-state-tags">
            <a href="/tags/">
          
        <span class="site-state-item-count">7</span>
        <span class="site-state-item-name">标签</span></a>
      </div>
  </nav>
</div>
  <div class="links-of-author motion-element">
      <span class="links-of-author-item">
        <a href="https://github.com/ghostlitao" title="GitHub → https:&#x2F;&#x2F;github.com&#x2F;ghostlitao" rel="noopener" target="_blank"><i class="fab fa-github fa-fw"></i>GitHub</a>
      </span>
  </div>



      </div>

    </div>
  </aside>
  <div id="sidebar-dimmer"></div>


      </div>
    </main>

    <footer class="footer">
      <div class="footer-inner">
        

        

<div class="copyright">
  
  &copy; 2019 – 
  <span itemprop="copyrightYear">2024</span>
  <span class="with-love">
    <i class="fa fa-heart"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">Todd</span>
</div>
  <div class="powered-by">由 <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> & <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Gemini</a> 强力驱动
  </div>

        








      </div>
    </footer>
  </div>

  
  <script src="/lib/anime.min.js"></script>
  <script src="/lib/velocity/velocity.min.js"></script>
  <script src="/lib/velocity/velocity.ui.min.js"></script>

<script src="/js/utils.js"></script>

<script src="/js/motion.js"></script>


<script src="/js/schemes/pisces.js"></script>


<script src="/js/next-boot.js"></script>




  















  

  

</body>
</html>
